#ifndef QUICKSORT_H_INCLUDED
#define QUICKSORT_H_INCLUDED

void printArry(int aData[], int iStart, int iLen, int iL, int iR, int iHole, int iMid);
int quickSort_Test(int aData[], int iLBorder, int iRBorder, int *ipHoleCount);
void quickSort(int aData[], int iLBorder, int iRBorder);

#define MAX_STACKDEP 50
//栈单元类型定义
typedef struct{
    int iL;
    int iR;
}typeStackElem;

//栈类型定义
typedef struct {
    typeStackElem aStack[MAX_STACKDEP];
    int iMaxDep; //栈最大深度。
    int iIndex; //当前栈顶索引。
}typeStack;

void initStack(); //栈初始化

int push(typeStackElem sEle); //压栈
typeStackElem pop(); //弹栈
int isEmpty(); //判断栈是否空
void printStack();
#endif // QUICKSORT_H_INCLUDED
